import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
// 模块
import Modules from '../components/modules/Modules.vue'
import Rights from '../components/power/Rights.vue'

import Roles from '../components/power/Roles.vue'
import Cate from '../components/goods/Cate.vue'
import Params from '../components/goods/Params.vue'
import GoodsList from '../components/goods/List.vue'
import Add from '../components/goods/Add.vue'
import Order from '../components/order/Order.vue'
import Report from '../components/report/Report.vue'

Vue.use(VueRouter)

const routes = [{
		path: '/',
		redirect: '/login'
	},
	{
		path: '/login',
		component: Login
	},
	{
		path: '/home',
		component: Home,
		redirect:'/welcome',
		children: [{
			path: '/welcome',
			component: Welcome
		},
		{
			path: '/modules',
			component: Modules
		},
		{
			path: '/users',
			component: Rights
		},
		{
			path: '/roles',
			component: Roles
		},
		{
			path: '/categories',
			component: Cate
		},
		{
			path: '/params',
			component: Params
		},
		{
			path: '/goods',
			component: GoodsList
		},
		{
			path: '/goods/add',
			component: Add
		},
		{
			path: '/orders',
			component: Order
		},
		{
			path: '/reports',
			component: Report
		}
		]
	}
]

const router = new VueRouter({
	routes
})

//挂载路由导航守卫
router.beforeEach((to, from, next) => {
	//to将要访问的路径
	// from 代表从哪个路径跳转而来
	// next 是一个函数，表示放行
	//      next()放行    next('/login') 强制跳转

	// 1.判断是不是登录页，是则放行
	if (to.path === '/login') return next();
	//2.获取token
	const tokenStr = window.sessionStorage.getItem('token')
	// 判断
	if (!tokenStr) return next('/login')
	//放行
	next()
})

export default router
